package com.example.jikeyoujikeyou.office_sz.model.base;

import com.example.jikeyoujikeyou.office_sz.model.base.BaseModel;

import java.util.Date;

/*
*  CREATE TABLE `apply` (
  `id` char(18) NOT NULL DEFAULT '' COMMENT '申请ID',
  `begin_time` datetime DEFAULT NULL COMMENT '开始时间',
  `company_id` char(18) DEFAULT NULL,
  `end_time` datetime DEFAULT NULL COMMENT '结束时间',
  `during` float(4,1) NOT NULL DEFAULT '0.0' COMMENT '时长',
  `content` varchar(199) DEFAULT NULL,
  `status` tinyint(4) DEFAULT '0' COMMENT '状态(100:等待审批 200:申请通过 300:申请未通过 400:取消)',
  `apply_type_id` char(18) NOT NULL DEFAULT '' COMMENT '申请类型ID',
  `applicant_id` char(18) NOT NULL DEFAULT '' COMMENT '申请者ID',
  `approver_id` char(18) NOT NULL DEFAULT '' COMMENT '审批者ID',
  `approver_time` datetime DEFAULT NULL COMMENT '审批时间',
  `create_time` timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `attributes` mediumtext,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
* */

public class BaseApply extends BaseModel {

    public static final Integer WAIT = 100;
    public static final Integer PASS = 200;
    public static final Integer UNPASS = 300;
    public static final Integer CANCLE = 400;


    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.id
     *
     * @mbggenerated
     */
    private String id;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.begin_time
     *
     * @mbggenerated
     */
    private String beginTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.company_id
     *
     * @mbggenerated
     */
    private String companyId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.end_time
     *
     * @mbggenerated
     */
    private String endTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.during
     *
     * @mbggenerated
     */
    private String during;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.content
     *
     * @mbggenerated
     */
    private String content;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.status
     *
     * @mbggenerated
     */
    private Integer status;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.apply_type_id
     *
     * @mbggenerated
     */
    private String applyTypeId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.applicant_id
     *
     * @mbggenerated
     */
    private String applicantId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.approver_id
     *
     * @mbggenerated
     */
    private String approverId;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.approver_time
     *
     * @mbggenerated
     */
    private String approverTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.create_time
     *
     * @mbggenerated
     */
    private String createTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column apply.attributes
     *
     * @mbggenerated
     */
    private String attributes;

    /**
     * 构造方法.
     *
     * @param json
     */
    public BaseApply(String json) {
        super(json);
    }

    public String getId() {
        if (null == id) {
            return (String) get("id");
        }
        return id;
    }

    public void setId(String id) {
        this.put("id", id);
        this.id = id;
    }

    public String getBeginTime() {
        if (null == beginTime) {
            return (String) get("beginTime");
        }
        return beginTime;
    }

    public void setBeginTime(String beginTime) {
        this.put("beginTime", beginTime);
        this.beginTime = beginTime;
    }

    public String getCompanyId() {
        if (null == companyId) {
            return (String) get("companyId");
        }
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.put("companyId", companyId);
        this.companyId = companyId;
    }

    public String getEndTime() {
        if (null == endTime) {
            return (String) get("endTime");
        }
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.put("endTime", endTime);
        this.endTime = endTime;
    }

    public String getDuring() {
        if (null == during) {
            return (String) get("during");
        }
        return during;
    }

    public void setDuring(String during) {
        this.put("during", during);
        this.during = during;
    }

    public String getContent() {
        if (null == content) {
            return (String) get("content");
        }
        return content;
    }

    public void setContent(String content) {
        this.put("content", content);
        this.content = content;
    }

    public Integer getStatus() {
        if (null == status) {
            return (Integer) get("status");
        }
        return status;
    }

    public void setStatus(Integer status) {
        this.put("status", status);
        this.status = status;
    }

    public String getApplyTypeId() {
        if (null == applyTypeId) {
            return (String) get("applyTypeId");
        }
        return applyTypeId;
    }

    public void setApplyTypeId(String applyTypeId) {
        this.put("applyTypeId", applyTypeId);
        this.applyTypeId = applyTypeId;
    }

    public String getApplicantId() {
        if (null == applicantId) {
            return (String) get("applicantId");
        }
        return applicantId;
    }

    public void setApplicantId(String applicantId) {
        this.put("applicantId", applicantId);
        this.applicantId = applicantId;
    }

    public String getApproverId() {
        if (null == approverId) {
            return (String) get("approverId");
        }
        return approverId;
    }

    public void setApproverId(String approverId) {
        this.put("approverId", approverId);
        this.approverId = approverId;
    }

    public String getApproverTime() {
        if (null == approverTime) {
            return (String) get("approverTime");
        }
        return approverTime;
    }

    public void setApproverTime(String approverTime) {
        this.put("approverTime", approverTime);
        this.approverTime = approverTime;
    }

    public String getCreateTime() {
        if (null == createTime) {
            return (String) get("createTime");
        }
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.put("createTime", createTime);
        this.createTime = createTime;
    }

    public String getAttributes() {
        if (null == attributes) {
            return (String) get("attributes");
        }
        return attributes;
    }

    public void setAttributes(String attributes) {
        this.put("attributes", attributes);
        this.attributes = attributes;
    }

    @Override
    public String toString() {
        return "BaseApply{" +
                "id='" + id + '\'' +
                ", beginTime=" + beginTime +
                ", companyId='" + companyId + '\'' +
                ", endTime=" + endTime +
                ", during=" + during +
                ", content='" + content + '\'' +
                ", status=" + status +
                ", applyTypeId='" + applyTypeId + '\'' +
                ", applicantId='" + applicantId + '\'' +
                ", approverId='" + approverId + '\'' +
                ", approverTime=" + approverTime +
                ", createTime=" + createTime +
                ", attributes='" + attributes + '\'' +
                '}';
    }
}